The present invention relates to Storage Area Networks (SANs). In particular, the present invention relates to methods and systems for providing multimedia data, such as video data, to a client making a request to a data delivery system over a communication network such as a Wide Area Network (WAN).
The Communication Network used to deliver multimedia and video to an end-user (client) typically includes the following three main components: a back-end network comprised of a server system, an end-user system, and a front-end network for connecting a plurality of end-users (clients) to the server system.
The front-end network of a Communication Network is typically comprised of a Wide Area Network (WAN), Local Area Network (LAN), or a Broadcast Area Network (BAN).
Recent developments in both the telephone and cable television services are capitalizing on recent advances in technology in the Art. For example, the increasing level of integration in Very-Large-Scale-Integration (VLSI) technology has facilitated the reduction in cost of motion video compression/decompression hardware and enabled technology such as Asymmetric Digital Subscriber Loop (ADSL).
Similarly, the advances in fiber optic transmission technology and its declining cost have enabled upgrades in front-end network systems such as cable TV network trunk and feeder systems. Traditionally, these systems have increased the bandwidth of the network sufficiently to provide each subscriber his own dedicated channel to the head-end for receiving compressed digital video. Direct broadcast satellite technology and other emerging wireless communication technology also provide dedicated multimedia and video channels between a large number of end-users and the server systems.
Personal computers and set top boxes for the end-user are also emerging which enable networked multimedia applications. Each of these is taking advantage of the low cost video compression/decompression hardware and advances in microprocessor technology.
While the end-user (client) system and the front-end network system infrastructure is evolving rapidly to meet the requirement of interactive multimedia services, current server systems continue to be expensive and impractical for delivering these services because of the limited capacity of the server system. Current server systems are unable to process the large number of streams that are required by streaming multimedia and video services.
The current choices of servers are typically off-the-shelf mainframes or workstation technology based parallel computing systems. The hardware and software in both cases is optimized for computation intensive applications and for supporting multiple concurrent users (time-sharing) with very limited emphasis on moving data to and from the network interface and the Input/Output (I/O) device. A typical example of an input/output device, in accordance with the present invention, is a storage subsystem.
For example, the bandwidth from the memory to cache in an RS/6000 is 400 Mbytes/sec, while the bandwidth from or to the I/O or network device is only 80 Mbytes/sec. The floating-point support adds to the cost of the system without providing any benefit to the delivery of multimedia video and audio data.
The above factors have forced the price and performance of general purpose computing systems to be much higher than server systems optimized for delivery of multimedia data.
Typically, the acknowledged public activity in addressing the above mentioned limitations have been minimal. One methodology has been in the implementation of an optimization in the placement of data on an array of disks. This architecture is used to maximize the disk throughput in the video server application. A second methodology has been in the implementation of the policy of optimization of buffering of data retrieved from disk to maximize its reuse in the video server application. Another methodology would see the implementation of the optimization of the file systems for accompanying multimedia data.
However, the above mentioned improvements may typically only improve the overall performance of current video server systems by a factor of two or four times, whereas the current need in the Industry requires improvements in the range of 100 to 1000 times current technology to make the interactive streaming video services economically feasible.
Notwithstanding the foregoing, another key to multimedia audio and video streaming is the concept of Quality of Service.
“Quality of Service” (QoS) generally refers to a technique for managing computer system resources such as bandwidth by specifying user visible parameters such as message delivery time. Policy rules are used to describe the operation of network elements to make these guarantees. Relevant standards for QoS in the IETF (Internet Engineering Task Force) are the RSVP (Resource Reservation Protocol) and COPS (Common Open Policy Service) protocols. RSVP allows for the reservation of bandwidth in advance, while COPS allows routers and switches to obtain policy rules from a server.
A major requirement in providing Quality of Service is the ability to deliver video frame data at a guaranteed uniform rate. Failure to maintain Quality of Service may typically result in an image that is jerky or distorted.
Traditional server system architectures have not been equipped with the functionality necessary for the implementation of providing Quality of Service on a large scale (more than one dedicated server for each client on the network). With an increasing load on the server systems to provide streaming multimedia applications, an increased volume of user (end-clients), and the above mentioned deficiencies in current server system technology, a need exists to provide a server system architecture which will be able to address this need.
U.S. Pat. No. 5,758,085 (hereinafter, “085' patent”) assigned to the Industrial Business Machine (IBM) Corporation addresses the above-named problems by providing a plurality of intelligent switches in a Storage Area Network (SAN) with the server system. When the end-user (client) makes a request to receive video and multimedia data, a request is sent to the host processor which in turn sends a request to a plurality of intelligent switches on the SAN. The intelligent switches include a cache for storing the requested data. The data is relayed directly from these switches to the end-user (client) requesting the multimedia data.
However, the IBM system described above provides for the storage of data onto switches, it does not allow the individual switches to cooperate together as a distributed architecture in order to pool bandwidth together to supply the backbone network. Current technology allows only for a 1-2 Gigabyte data stream coming out of a single peripheral device such as an array of disks, wherein the network backbone may accommodate a 10 Gigabyte or higher data stream. Also, in the '085 patent, the individual switches are not able to work together to distribute a delivery request over multiple switches for load balancing and streaming of the requested data.
Accordingly, it is desirable to provide systems and methods that allow for efficient delivery of multi-media and other data content to clients and which overcome problems inherent in existing systems.